<?php

namespace SummoIngenio\Sai\MatematicaBundle\Utility\Juego\P0;
use SummoIngenio\Sai\MatematicaBundle\Utility\Juego\JuegoBase;
define('CANT_PROBLEMAS', 5);
/**
 * Description of P01001
 *
 * @author SVM
 */

class P01005 extends JuegoBase {
  
  private $objetos;
  private $problema;
  private $linea;
  private $cantidades;
  private $obs;

  public function init() {

	$problema = new \stdClass();
	$problema->lineas  = $this->generarLineas();
	$problema->opciones = $this->generarOpciones();
	shuffle($problema->opciones);
	$this->problema = $problema;

  }
  
  public function getPregunta() {
    return '';
  }
  public function generarOpciones(){
	$opcion1->descripcion = 'dieciséis';
	$opcion1->codigo =  6;
	$opcion2->descripcion = 'diecisiete';
	$opcion2->codigo =  7;
	$opcion3->descripcion = 'dieciocho';
	$opcion3->codigo =  8;
	$opcion4->descripcion = 'diecinueve';
	$opcion4->codigo =  9;
	$opcion5->descripcion =	'veinte';
	$opcion5->codigo =  10;
	return $opciones = array($opcion1,$opcion2,$opcion3,$opcion4,$opcion5);
  }
  public function generarLineas(){
	$repository = $this->entityManager->getRepository('SummoIngenioSaiMatematicaBundle:SaiObjeto');
    $qb     = $repository->createQueryBuilder("obj")
			  ->select('obj.imagen')
              ->where('obj.id = 37 or obj.id = 36')
			  ->orderBy('obj.id');
    $query  = $qb->getQuery();
    $objetos = $query->getResult();
	$n = 3;
	$series = array(6,7,8,9,10);
	shuffle($series);
	$lineas = array();
		
	for ($i = 0; $i < 1; $i++) {
		$numero= $series[$i];
		$linea = new \stdClass();
		$linea->base = 5;
		$linea->base2 = 5;
		$linea->unidad = $numero;
		
		$linea->imgbase = $objetos[1];
		$linea->imgunidad = $objetos[0];
		$linea->max = 5;  		
		array_push($lineas,$linea);
	}
	return $lineas;
  }
  public function getHtmlDesactivado() {	
    return $this->render('P0/P01005/desactivado', array(
        'problema'   =>  $this->problema,
      ));
  }
  
  public function getHtmlJugable() {
    return $this->render('P0/P01005/jugable', array(
        'problema'   =>  $this->problema,
      ));
  }
  
  public function getHtmlResuelto() {
    return $this->render('P0/P01005/resuelto', array(
        'problema'   => $this->problema,
      ));
  }
  
  public function verificarRespuesta($respuestaUsuario) {
     
    $aRetornar = array(
      'respuesta' =>  sprintf("%s + %s = %s", $this->problema->lineas[0]->base,$this->problema->lineas[0]->unidad,$this->problema->lineas[0]->unidad+$this->problema->lineas[0]->base),
      'correcta'  =>  ((int)$respuestaUsuario->get('numero')==(int)$this->problema->lineas[0]->unidad),
    );
    return $aRetornar;
  }

  public function getJavascript() {
    $aRetornar = array(
      "tipo"      => "archivo",
      "contenido" => "P0/P01005.js"
    );
    return $aRetornar;
  }

  public function getCss() {
    $aRetornar = array(
      "tipo"      => "archivo",
      "contenido" => "P0/P01005.css"
    );
    return $aRetornar;
  }

  public function __sleep() {
    return array(
      'problema',
    );
  }
}

?>